/**
 * 格式日期
 * yyyy-MM-dd HH:mm:ss
 */
module.exports = (date, fmt) => {
  if (typeof date == "string" || typeof date == "number") {
    if (typeof date == "string") date = date.replace(/-/g, "/");
    date = new Date(date);
  }
  
  if (!(date instanceof Date)) {
    console.warn("非法日期格式", date);
    return date;
  }
  var o = {
    "M+": date.getMonth() + 1, // 月份
    "d+": date.getDate(), // 日
    "h+": date.getHours(), // 小时
    "m+": date.getMinutes(), // 分
    "s+": date.getSeconds(), // 秒
    "q+": Math.floor((date.getMonth() + 3) / 3), // 季度
    "S": date.getMilliseconds()// 毫秒
  };
  if (/(y+)/.test(fmt))
    fmt = fmt.replace(RegExp.$1, (date.getFullYear() + "")
      .substr(4 - RegExp.$1.length));
  for (var k in o)
    if (new RegExp("(" + k + ")").test(fmt))
      fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k])
        : (("00" + o[k]).substr(("" + o[k]).length)));
  return fmt;
}